استفاده ازعملگرPIVOTبرای تبدیل مقادیر تک ستونی به چندستونی با کمک توابع تجمع
برخی موارد نیاز داریم که یک مقدار چند ستونی را به چند ستونی تبدیل کنیم. این مورد در ساخت گزارشات کاربرد زیادی دارد. به عنوان مثال فرض کنید یک کوئری آماده دارید که توسط آن لیستی از تمام شیفتهای افراد به همراه نام قسمتهای مربوطه در یک سازمان ارائه میشود. حال نیاز دارید بفهمید که هر کدام از قسمتهای سازمان در کدام شیفت، چند نفر کارمند دارد. عملا شما به یک جدول متقاطع نیاز دارید که ستونهای آن شامل نام قسمتهای مختلف سازمان و سطرهای آن نام شیفتهای مختلف میباشد.
ابتدا شما را با گرامر عبارت مورد نظر آشنا میکنم :
FROM table_source
-- جدول یا کوئری منبع
PIVOT (
aggregate_function ( value_column )
-- تابع تجمعی مورد نظر به همراه ستون مورد نظر
FOR pivot_column
-- ستونی که برای ساختن نام ستونها استفاده میشود
IN ( <column_list>)
-- مقادیری که از ستون بالا برای عملیات انتخاب میشود
) table_alias
-- نام مستعار جدول خروجی